package cn.nawang.ebeim.api.domain;

import java.util.Map;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import cn.nawang.ebeim.api.utils.Constant;

/**
 * TbCa entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "tb_ca", catalog = "ebeim")
public class Ca implements java.io.Serializable {

  // Fields
  
  private String caId;
  private String labId;
  
  private Long createTime;
  private String createUserId;
  private String caType;
  
  private String isBind;
  
  private String labType;
  
  private Long authStartTime;
  private Long authEndTime;
  
  private int authTime;
  
  private Map<String, String> labTypeMap = Constant.LAB_TYPE;
  
  private Map<String, String> isBindMap = Constant.IS_BIND;
  
  // Property accessors
  @Id
  @Column(name = "ca_id", unique = true, nullable = false, length = 45)
  public String getCaId() {
    return this.caId;
  }

  public void setCaId(String caId) {
    this.caId = caId;
  }
  
  @Column(name = "lab_id", nullable = false, length = 65535)
  public String getLabId() {
    return this.labId;
  }

  public void setLabId(String labId) {
    this.labId = labId;
  }

  @Column(name = "create_time")
  public Long getCreateTime() {
    return this.createTime;
  }

  public void setCreateTime(Long createTime) {
    this.createTime = createTime;
  }

  @Column(name = "create_user_id", nullable = false, length = 45)
  public String getCreateUserId() {
    return this.createUserId;
  }

  public void setCreateUserId(String createUserId) {
    this.createUserId = createUserId;
  }

  @Column(name = "ca_type", nullable = false, length = 2)
  public String getCaType() {
    return this.caType;
  }

  public void setCaType(String caType) {
    this.caType = caType;
  }

  @Column(name = "is_bind")
  public String getIsBind() {
    return isBind;
  }

  public void setIsBind(String isBind) {
    this.isBind = isBind;
  }

  @Column(name = "lab_type")
  public String getLabType() {
    return labType;
  }

  public void setLabType(String labType) {
    this.labType = labType;
  }
  
  @Column(name = "auth_start_time")
  public Long getAuthStartTime() {
    return authStartTime;
  }

  public void setAuthStartTime(Long authStartTime) {
    this.authStartTime = authStartTime;
  }

  @Column(name = "auth_end_time")
  public Long getAuthEndTime() {
    return authEndTime;
  }

  public void setAuthEndTime(Long authEndTime) {
    this.authEndTime = authEndTime;
  }

  @Column(name = "auth_time")
  public int getAuthTime() {
    return authTime;
  }

  public void setAuthTime(int authTime) {
    this.authTime = authTime;
  }

  @Transient
  public Map<String, String> getLabTypeMap() {
    return labTypeMap;
  }
  
  @Transient
  public Map<String, String> getIsBindMap() {
    return isBindMap;
  }
  
  
}
